package com.softserveinc.autorent.rest;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import com.softserveinc.autorent.controller.CarController;
import com.softserveinc.autorent.model.Car;
import com.softserveinc.autorent.model.CarModel;

@ManagedBean
@RequestScoped
public class CarMB {

	@EJB
	private CarController carController;

	private Car car;
	private DataModel carList;

	public DataModel getCarList() 
	{
//
//		List<Car> lista = new ArrayList<Car>();
		
//		CarVendor v = new CarVendor();
//		v.setName("Mersedes");	
//		v.setId(1);
//
//		CarModel cm = new CarModel();
//		cm.setName("Compressor");
//		cm.setCarVendor(v);
//		cm.setId(1);
//
//		CarStatus cs = new CarStatus();
//		cs.setName(CarStatusEnum.FREE);
//		cs.setId(1);
//
//		Car car = new Car();
//		car.setNumber("123123");
//		car.setVin("123123");
//		car.setCarClass("Business");	
//		car.setId(1);
//		car.setColor("black");
//		cm.setName("Compressor");
//		car.setMakeYear(2000);
//		car.setCarModel(cm);
//		car.setCarStatus(cs);
//		
//		lista.add(car);
//		
//		
//		car = new Car();
//		car.setNumber("123123");
//		car.setVin("123123");
//		car.setCarClass("Business");	
//		car.setId(2);
//		car.setColor("black");
//		cm.setName("Compressor");
//		car.setMakeYear(2000);
//		car.setCarModel(cm);
//		car.setCarStatus(cs);
//		
//		lista.add(car);
		
//		Car cr = new Car();
//		cr.setId(1);
//		cr.setCarClass("Business");		
//		CarModel cm = new CarModel();
//		cm.setId(1);
//		cm.setName("Compressor");
//		cr.setCarModel(cm);
//		cr.setColor("black");
//		cr.setMakeYear(2000);
//		lista.add(cr);
//		
//		cr = new Car();
//		cr.setId(2);
//		cr.setCarClass("Business");		
//		cm = new CarModel();
//		cm.setId(2);
//		cm.setName("SLS");
//		cr.setCarModel(cm);
//		cr.setColor("silver");
//		cr.setMakeYear(2006);
//		lista.add(cr);
//		
//		cr = new Car();
//		cr.setId(3);
//		cr.setCarClass("Business");		
//		cm = new CarModel();
//		cm.setId(3);
//		cm.setName("A8");
//		cr.setCarModel(cm);
//		cr.setColor("red");
//		cr.setMakeYear(2008);
//		lista.add(cr);
		
		
//		
//		
//		
//		carList = new ListDataModel(lista);
//		return carList;

		 List<Car> lista = carController.getAll();
		 carList = new ListDataModel(lista);
		 return carList;
	}

	public Car getCar() {
		return car;
	}

	public void setCar(Car car) {
		this.car = car;
	}

	public String prepareBookCar() {
		car = (Car)(carList.getRowData());
		return "book";
	}

	public String prepareAddCar() {
		car = (Car)(carList.getRowData());		
		return "Create person";
	}

	public String prepareUpdateCar() {
		car = (Car) (carList.getRowData());
		return "Create person";
	}

	public String deleteCar() {

		Car car = (Car) (carList.getRowData());
		carController.delete(car);
		return "index";

	}

	public String addCar() {
		carController.create(car);
		return "index";

	}

	public String updateCar() {
		carController.update(car);
		return "index";

	}
}
